Technické detaily Ryzenů 7000 a Zenu 4. Nárůst IPC je vyšší, než AMD původně slibovalo

31. 8. 2022

Sdílet

 Autor: AMD
AMD Zen 4 má nakonec o 13 % lepší IPC než Zen 3. Počet tranzistorů masivně narostl, ale jádra jsou výrazně menší, než byl Zen 3. Chlazení ovšem asi nebude snadné.

Včera AMD formálně uvedlo na trh Ryzeny 7000 (ač dostupnost nastane až za čtyři týdny) a potvrdilo specifikace i ceny. Firma také sdělila značné množství technických detailů a některé další teď prosákly z neoficiálních zdrojů. Podíváme se tedy na detaily architektury Zen 4 a 5nm čipů (čipletů), na kterých jsou procesory „Raphael“ postavené. Včetně otázky IPC – to je totiž vyšší než dříve slibovaných +8 až 10 % proti Zenu 3.

5nm čiplet Durango

Jak už se ví delší dobu, Zen 4 je vyráběný na 5nm procesu TSMC (N5) – přesněji, touto technologií se vyrábí CPU čiplety, což jsou relativně malé křemíky obsahující jádra Zen 4 a jejich L3 cache. Ty pak jsou připojené k 6nm centrálnímu IO čipletu. Do této chvíle jsme celé Ryzeny 7000 znali pod kódovým jménem „Raphael“. Samotný CPU čiplet měl údajně v AMD kódové označení Durango, takže toto jméno teď asi můžete někde zaznamenat. Architektura CPU jádra Zen 4 pak má kódové označení „Persephone“.

Čiplet Durago je o víc jak 10 % menší, než byl čiplet s jádry Zen 3 v Ryzenech 5000, podle AMD zabírá plochu jen 71 mm². Obsahuje ale 6,57 miliardy tranzistorů, o 58 % více než čiplet generace Zen 3 (pro ten se uvádělo 4,15 miliardy tranzistorů a 83,74 mm²). Hustota tranzistorů v 5nm části procesorů je tedy průměrně přes 90 milionů na mm². AMD prý používá 15 vrstev kovových spojů, které jsou optimalizované současně pro vysoké frekvence i na schopnost dosáhnout vysoké hustoty tranzistorů.

Navýšení počtu tranzistorů je hodně vysoké, když si uvědomíte, že čiplet má stále stejný počet jader (osm) i stejnou kapacitu L2 cache (32 MB). IO čiplet, vyráběný 6nm procesem TSMC, má mimochodem podle AMD plochu 122 mm².

AMD považuje Zen 4 nikoliv za „velkou“, úplně novou architekturu, jakou byl Zen 3 – místo toho je Zen 4 jeho „inkrementálním updatem“, tedy rozvinutím a vylepšením. Další novou architekturou má být až Zen 5, což odráží CPUID – Zen 5 bude údajně Family 1Ah, zatímco Zen 4 má stejné ID Family 19h jako Zen 3. Největší změnou jsou ve frontendu procesoru (Mark Papermaster dokonce mluvil o „novém designu frontendu“), jehož úkolem je zajistit, aby se již přítomné výpočetní zdroje v backendu využily co nejefektivněji a zredukoval se čas, kdy zůstávají nevyužité.

AVX-512 na 256bitových jednotkách, větší L2 cache

Značný počet tranzistorů asi padl na podporu instrukcí AVX-512 s 512bitovými registry, které Zen 4 jako první architektura od AMD začíná podporovat. Je realizována na dva průchody existujícími 256bitovými SIMD jednotkami, které již mělo jádro Zen 3. Nedají se tedy čekat tak diametrální nárůsty výkonu, jaké byly možné s nativními 512bitovými jednotkami. Výkon ale může stoupnout tam, kde se využijí nové vlastnosti instrukční sady AVX-512, které usnadňují psaní a optimalizaci mnoha algoritmů. Podle AMD má AVX-512 počítané 256bitovými jednotkami jednu výhodu: nebude docházet k podtaktování jader při počítání těchto instrukcí, což hodně trápilo implementace od Intelu.

Snímek jádra Zen 5 s L2 cache porovnání plochy s jádrem Goldmont procesorů Intel Alder Lake Snímek jádra Zen 4 s L2 cache, porovnání plochy s jádrem Goldmont procesorů Intel Alder Lake (zdroj: AMD, via: AnandTech)

V jádrech se zvětšila L2 cache z 512 kB na 1 MB, což také o něco zvýší plochu, nicméně jádra jsou díky 5nm procesu pořád celkově menší než Zen 3 na 7 nm. Plocha včetně L2 cache je 3,84 mm², o nějakých 18 % menší proti asi 4,11mm² ploše Zenu 3 včetně jeho 512kB L2 cache na 7nm procesu.

Vyšší latence

Zvětšení kapacity L2 cache si údajně (dle informací od Retired Engineera) vyžádalo zvýšení latence o dva cykly – stoupla z 12 na 14 cyklů. Částečně možná šlo i o úlitbu pro dosažení vyšší frekvence. Zvětšení L2 cache u procesorů Intel Raptor Lake (z 1,25 na 2,0 MB) si totiž vyžádalo jen jeden cyklus latence navíc.

Podobně má Zen 4 údajně také delší latenci u L3 cache, která je sdílená osmi jádry v rámci CPU čipletu. Zde bylo zvýšení ze 46 cyklů na 50 cyklů. V obou případech je ale možné, že reálná latence v nanosekundách je stejná nebo nižší, protože Zen 4 běží na mnohem vyšších frekvencích, kdy je cyklus kratší.

https://twitter.com/SkyJuice60/status/1564405596303962113

O dvě třetiny větší uOP cache

Poměrně velká tranzistorová investice šla, zdá se, do uOP cache (microOp cache), která slouží ke cachování již dekódovaných instrukcí, takže procesor je opětovně může zpracovat bez toho, aby vytížily energeticky náročné instrukční dekodéry. AMD již mělo velmi velkou uOP cache pro 4000 položek od architektury Zen 2 (Zen 3 měl nezměněnou kapacitu), Zen 4 tuto kapacitu navýší na víc než 6000 položek.

Podle údajů, které ukázal na Twitteru účet Retired Engineer, by dokonce prý kapacita měla být 6750 položek, což by byl nárůst o 68,75 %. Vyšší kapacita uOP cache by měla znamenat, že se větší procento zpracovávaných instrukcí pokryje z jejího obsahu, případně že se do cache vejdou větší smyčky.

Zen 4 má, zdá se, podobnou konfiguraci samotných vykonávacích jednotek (stále čtyři ALU v jádře), AMD se u něj místo rozšiřování „šířky“ a výpočetních zdrojů v backendu soustředilo na to, aby frontend procesoru dokázal existující zdroje lépe využít – a tím dosáhnout na vyšší výkon. Větší uOP cache má zřejmě přesně tento záměr.

ROB má již 320 položek

AMD údajně také zvětšilo Reorder Buffer (ROB), tedy velmi důležitou frontu, v níž probíhá přehazování pořadí vykonávání operací. Jde tedy o srdce out-of-order architektury. Zen 3 měl podivuhodně malý ROB jen s 256 položkami, což je na úrovni malého jádra Gracemont od Intelu, zatímco velké jádro Golden Cove používá ROB hluboký 512 položek. Zen 4 prý konečně tuto strukturu výrazněji zvětšil, ale pořád jen na 320 položek (méně než u Intel Sunny Cove/Ice Lake, kde to již bylo 352 položek).

https://twitter.com/chiakokhua/status/1564413952108335105

Čím větší je ROB, tím větší „okno“ vidí procesor ze zpracovávaného kódu a tím efektivněji může instrukce popřehazovat a zoptimalizovat souhrnný počet cyklů nutný ke zpracování. Jde přesně o to co nejvíce využít výpočetní jednotky, které má backend jádra k dispozici. Větší ROB Zenu 4 by tedy měl sám o sobě o něco vylepšit IPC (výkon na jeden cyklus). Nicméně toto je zatím neoficiální informace, takže hodnotu berte jako provizorní, než se přímo potvrdí.

Retired Engineer uvádí ještě jednu změnu v Zenu 4: L1 BTB ze zvětšil z 1k na 1,5k položek. Toto by mělo být součástí zlepšení úspěšnosti u prediktorů větvení.

IPC nakonec lepší o 13 %?

AMD již dříve oznámilo, že očekává asi 8% až 10% navýšení výkonu jádra při stejné frekvenci (IPC) ve srovnání se Zenem 3. Nicméně tehdy v květnu a červnu si asi AMD ještě nebylo tak jisté finálním výkonem, takže zřejmě sdělilo konzervativnější čísla. Mělo jít o číslo zakládající se na výkonu například ve SPEC CPU, Geekbenchi, Cinebenchi, ale tehdy možná ještě měřené na ne kompletně optimalizovaném firmwaru, nastaveních cache, prefetcherů, paměťových řadičů a tak podobně.

IPC zenu 4 je údajně v průměru o 13 procent lepší než u Zenu 3 IPC Zenu 4 je údajně v průměru o 13 procent lepší než u Zenu 3 (zdroj: AMD, via: AnandTech)

Teď je totiž AMD optimističtější a uvádí, že Zen 4 překonal tyto dříve slibované úrovně výkonu a ve finále má nakonec IPC o 13 % vyšší než Zen 3, tedy má o 13 % lepší výkon na 1 MHz frekvence.

Těchto +13 % je geometrickým průměrem z 22 různých programů, jejichž skladbu můžete vidět na slajdu. Jak nejspíš víte, IPC procesoru není konstantní a liší se program od programu podle charakteru kódu, proto také různé programy mají různou změnu výkonu na 1 MHz.

Nárůst IPC Zenu 4 v aplikačním softwaru se pohybuje od 4 % (Adobe Lightroom) po +15 % (V-Ray), jsou zde ale i výjimky – wPrime 1024M má při stejné frekvenci výkon až o 39 % lepší, což je zřejmě dílo instrukcí AVX-512. A naopak jednovláknový test CPU-Z vykázal zlepšení IPC o pouhé jedno procento, a bude tedy úlohou, která bude na Ryzenech 7000 dávat skóre vypadající relativně špatně vzhledem k typickému výkonu těchto CPU.

Nárůst IPC mezi Zenem 3 a Zenem 4 v různých programech a hrách Nárůst IPC mezi Zenem 3 a Zenem 4 v různých programech a hrách (zdroj: AMD, via: AnandTech)

AMD do výpočtu IPC zahrnulo i výkon ve hrách (což je trochu kontroverzní, protože hodně závisí spíš na pamětech než na jádru, ale ne úplně bez opodstatnění). Rozptyl ve hrách je také značný. Například ve Fortnite je IPC lepší jen o 3 %, ale ve Watchdogs Legion o 24 %. A opět je zde významný ústřel, kdy v Dolphin Benchmarku (emulátor Nintenda Wii a Gamecube) bylo naměřeno o 32 % vyšší IPC. Tyto vymykající se hodnoty by snad ale neměly ovlivňovat celkové vypočtené IPC v nepatřičné míře, vzhledem k použití geometrického průměru.

Tyto údaje byly naměřené na procesorech s osmi jádry, tedy Ryzenu 7 5800X a Ryzenu 7 7700X, oběma zamčenými na frekvenci 4,0 GHz. Používaly paměti DDR4-3600 CL16, respektive DDR5-6000 CL30 (tedy OC nad rámec oficiálně podporovaných frekvencí pomocí profilů XMP a Expo) a grafiku Radeon RX 6950 XT, systém byl Windows 11.

Zdroje tohoto zlepšení IPC jsou z většiny právě úpravy frontendu – ty se spolu s vlivem lepšího prediktoru větvení podílí (dle AMD) na téměř 60 % onoho 13% zlepšení. Po nich následují změny v load/store pipeline, které ale zatím AMD nikde nespecifikovalo (měly by mít větší dopad než prediktor větvení izolovaně, ten je samotný třetím největším faktorem). Vliv 1MB L2 cache je až pátým faktorem v pořadí (před ním jsou na čtvrtém místě neupřesněné změny ve výpočetních jednotkách v backendu).

Faktory z nichž pramení zvýšení IPC u Zenu 4 Faktory, z nichž pramení zvýšení IPC u Zenu 4 (zdroj: AMD, via: AnandTech)

Vysoké takty

Nicméně IPC není u Zenu 4 jediná strategie zvýšení výkonu. Tato architektura (a částečně patrně také 5nm proces) masivně zvýšila dosahované frekvence. Jednojádrové boosty procesorů dosahují až 5,7 GHz, což je nárůst o 800 MHz proti 7nm procesorům Ryzen 5000 s architekturou Zen 3 (Ryzen 9 5950X má oficiálně boost 4,9 GHz). Výsledný nárůst výkonu na jedno jádro je tedy docela výrazný, AMD dokonce v prezentaci slibuje, že v nejlepším případě může nárůst výkonu v jednovláknových aplikacích být až o 29 %.

Ryzen 9 7950X má dosahovat až o 29 lepší jendnovláknový výkon než model 5950X Ryzen 9 7950X má dosahovat až o 29 % lepšího jednovláknového výkonu než model 5950X (zdroj: AMD, via: AnandTech)

Toto konkrétně by mělo být zlepšení, kterého dosáhne Ryzen 9 7950X s DDR5-6000 CL30 proti Ryzenu 9 5950X s DDR4-3600 CL16 v jednovláknovém testu benchmarku Geekbench 5.4.x. Tento test dává zrovna na Ryzenech 5000 poměrně nízké skóre vzhledem k celkovému výkonu, což asi přispívá k tomu, že je u Zenu 4 vidět tak velké jednovláknové zlepšení. V jiných programech to tedy může být menší pokrok.

AMD mimochodem v prezentaci údaje o jednovláknovém výkonu Geekbench 5 uvedlo pro všechny čtyři modely řady Ryzen 7000. Firma ukazovala poměrně dost různých benchmarků, ale asi bude lepší si pro představu o výkonu proti starším procesorům a aktuálním konkurenčním procesorům Intel Core (Alder Lake) počkat na to, až vyjdou nezávislé recenze, ideálně ve větším množství. Skóre z Geekbenche 5 nicméně jsou zajímavá.

Ryzen 9 7950X se údajně dostane až na 2275 bodů v jednovláknovém testu, což by bylo vysoko nad schopnostmi Core i9-12900K i Core i9-12900KS. Modely 7900X, 7700X a 7600X nemají být o moc pozadu (2250, 2225, 2175 bodů). Je to však s rychlými pamětmi (opět DDR5-6000 CL30). V tomto testu, který je hodně oblíbený také například pro porovnání s procesory Apple (procesor M2 má jednovláknové skóre 1919 bodů), tedy bude Zen 4 hodně silný.

AMD uvádí oficiálně naměřené výsledky pro benchmark Geekbench 5.4.x ST AMD uvádí oficiálně naměřené výsledky pro benchmark Geekbench 5.4.x ST (zdroj: AMD, via: AnandTech)

V mnohovláknových aplikacích se asi mezigenerační nárůsty budou lišit model od modelu. Pro top model Ryzen 9 7950X s 16 jádry AMD uvádí nárůst výkonu při využití všech vláken od 32–37 % (Corona Render, Autodesk Arnold Render) až po 45–48 % (V-Ray, POV-Ray). Ve hrách mohou být nárůsty údajně od jen 6 % až po +32–35 %. Opět bude lepší si počkat na výsledky z nezávislých recenzí, protože tato oficiální čísla mohou být zkreslená a selektivní.

Oficiální benchmarky proceoru AMD Ryzen 9 7950X Oficiální benchmarky procesoru AMD Ryzen 9 7950X (zdroj: AMD, via: AnandTech)

Vysoká hustota spotřeby a tepla na malé ploše

Vysoké takty ale také přinesou zvýšenou spotřebu proti Zenu 3. Značné navýšení spotřeby energie, která bude zřejmě převážně konzumovaná v CPU čipletech a výsledné teplo bude muset být chlazené prostřednictvím malé 71mm² plochy. Hustota tepla na 1 mm² plochy CPU čipletů zřejmě značně narostla.

To znamená jedno – Ryzen 7000 nebude snadné chladit a často asi budou procesory dosahovat vysoké teploty. Teplota CPU při zátěži nezávisí totiž jen na spotřebě, ale také na rychlosti, jakou je teplo odváděno do chladiče. A právě malá kontaktní plocha pro přenos bude u Ryzenů 7000 asi nejvíce limitujícím faktorem.

bitcoin_skoleni

Ačkoliv tedy konkurenční procesory Intel Raptor Lake, zdá se, budou mít horší spotřebu než Zen 4, asi to budou Ryzeny 7000, které budou dosahovat horší teploty a bude těžší je uchladit. Raptor Lake totiž patrně zabírá velkou plochu snad až 257 mm². Poměr wattů na jednotku plochy bude tedy přes vyšší spotřebu mít příznivější – proti zvýšenému účtu na elektřinu vám to nijak nepomůže, ale zvládání teploty těchto CPU bude pro chladiče asi o něco jednodušší.

Modely Ryzenů 7000 i s cenami Modely Ryzenů 7000 i s cenami (zdroj: AMD, via: AnandTech)

Zdroje: AMD, AnandTech, Angstronomics (1, 2, 3), Retired Engineer